package com.exam.service;

import java.util.List;

import com.exam.exception.ClassesIsExistException;
import com.exam.pojo.Classes;

/**
 * @author 郭荣锋
 * 班级服务层接口
 */
public interface ClassesService {
	
	/**
	 * 通过专业名称获取班级列表 
	 * @param majorName 专业名称
	 * @return List<Student> 班级列表
	 */
	List<Classes> getClassesByMajorName(String majorName);

	/**
	 * 通过专业名称获取班级列表
	 * @param majorId 专业Id
	 * @return List<Student> 班级列表
	 */
	List<Classes> getClassesByMajorId(Integer majorId);

	/**
	 * 添加班级 
	 * @param majorName 专业名称
	 * @param classesName 班级名称
	 * @return void
	 * @throws ClassesIsExistException 班级已存在异常
	 */
	void addClasses(String majorName, String classesName) throws ClassesIsExistException;

	/**
	 * 更新班级
	 * @param majorName 专业名称
	 * @param newName 新名称
	 * @param classesName 班级名称
	 * @return void
	 * @throws ClassesIsExistException 班级名称已存在异常
	 */
	void updateClasses(String majorName, String newName, String classesName) throws ClassesIsExistException;

	/**
	 * 删除班级
	 * @param majorName 专业名称
	 * @param classesName 班级名称
	 * @return void
	 */
	void deleteClasses(String majorName, String classesName);
	
     /** 
	 * 通过班级ID来获取班级信息
	 * @param classesId  班级ID
	 * @return 班级对象
	 * */
	Classes getClassesById(Integer classesId);
	 
}
